package obsobs;

import fachklassen.controls.AbteilungswhiteboardVerwaltung;
import fachklassen.controls.MitarbeiterVerwaltung;
import fachklassen.controls.ProjektwhiteboardVerwaltung;

public class Main {
	private static MitarbeiterVerwaltung mv;
	private static ProjektwhiteboardVerwaltung pwv;
	private static AbteilungswhiteboardVerwaltung awv;
	
	public void dialog(){
		int eingabe=-1;
		while (eingabe!=0){
			System.out.print("Was wollen Sie machen?\n"
					+" (0) Programm beenden\n"
					+" (1) Mitarbeiter anlegen\n"
					+" (2) Projektwhiteboard anlegen\n"
					+" (3) Abteilungswhiteboard anlegen\n"
					+" (4) Mitarbeiter bei Projektwhiteboard anmelden\n"
					+" (5) Projekt bei Abteilungswhiteboard anmelden\n"
					+" (6) Information auf Projektwhiteboard\n"
					+" (7) Information auf Abteilungswhiteboard\n");
			eingabe=Eingabe.leseInt();
			switch(eingabe){
				case 1:{
					mitarbeiterHinzufuegen();
					break;
				}
				case 2:{
					projektwhiteboardHinzufuegen();
					break;
				}
				case 3:{
					abteilungswhiteboardHinzufuegen();
					break;
				}
				case 4:{
					mitarbeiterAnmelden();
					break;
				}
				case 5:{
					projektAnmelden();
					break;
				}
				case 6:{
					projektwhiteboardBeschreiben();
					break;
				}
				case 7:{
					abteilungswhiteboardBeschreiben();
					break;
				}
			}
		}
	}

	
	private void mitarbeiterHinzufuegen() {
		System.out.print("Name: ");
		String name= Eingabe.leseString();
		System.out.print("Mitarbeiternummer: ");
		int mnr=Eingabe.leseInt();
		
		mv.mitarbeiterHinzufuegen(mnr, name);
	}


	private void projektwhiteboardHinzufuegen() {
		System.out.println("Projekt: "); 
		String projekt=Eingabe.leseString();	
		
		pwv.whiteboardHinzufuegen(projekt);
	}


	private void abteilungswhiteboardHinzufuegen() {
		System.out.print("Abteilung: ");
		String abteilung= Eingabe.leseString();
		System.out.print("Abteilungsnummer: ");
		int anr=Eingabe.leseInt();
		
		awv.whiteboardHinzufuegen(anr, abteilung);
	}


	private void mitarbeiterAnmelden() {
		int auswahl;
		
		System.out.println("Welcher Mitarbeiter?");
		System.out.println(mv);
		System.out.print("Welches Element: ");
		auswahl=Eingabe.leseInt();
		int mnr = mv.gibMnr(auswahl);
		
		System.out.println("Bei welchem Projekt?");
		System.out.println(pwv);
		System.out.print("Welches Element: ");
		auswahl=Eingabe.leseInt();
		String projName = pwv.gibProjektName(auswahl);
		mv.projektwhiteboardBeitreten(mnr, projName, pwv);
	}

	private void projektAnmelden() {
		int auswahl;
		
		System.out.println("Welches Projekt?");
		System.out.println(pwv);
		System.out.print("Welches Element: ");
		auswahl=Eingabe.leseInt();
		String projName = pwv.gibProjektName(auswahl);
		
		System.out.println("Bei welcher Abteilung?");
		System.out.println(awv);
		System.out.print("Welches Element: ");
		auswahl=Eingabe.leseInt();
		int anr = awv.gibAnr(auswahl);
		
		pwv.abteilungswhiteboardBeitreten(projName, anr, awv);
	}

	private void projektwhiteboardBeschreiben() {
		System.out.println("Welches Projekt?");
		System.out.println(pwv);
		System.out.print("Welches Element: ");
		int auswahl=Eingabe.leseInt();
		String projName = pwv.gibProjektName(auswahl);
		
		System.out.print("Projektnachricht: ");
		String nachricht=Eingabe.leseString();

		pwv.nachrichtHinterlegen(projName, nachricht);
	}

	private void abteilungswhiteboardBeschreiben() {
		System.out.println("Bei welcher Abteilung?");
		System.out.println(awv);
		System.out.print("Welches Element: ");
		int auswahl=Eingabe.leseInt();
		int anr = awv.gibAnr(auswahl);
		
		System.out.print("Abteilungsnachricht: ");
		String nachricht=Eingabe.leseString();
		
		awv.nachrichtHinterlegen(anr, nachricht);
	}
	
	public static void main(String[] args) {
		mv = new MitarbeiterVerwaltung();
		pwv = new ProjektwhiteboardVerwaltung();
		awv = new AbteilungswhiteboardVerwaltung();
		
		new Main().dialog();
	}

}
